/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package be.hogent.iii.project.gui;

import be.hogent.iii.project.common.game.objecten.Spel;
import be.hogent.iii.project.objects.Veld;
import java.awt.Dimension;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.Properties;
import javax.swing.JScrollPane;
import javax.swing.ScrollPaneConstants;

/**
 * Het bovenste paneel van een spel, dit is een scrollpaneel dat het spelpaneel bevat. 
 * @author Caribou
 */
public class TopPaneel extends JScrollPane {

    private BottomPaneel bp;
    private SpelbordPaneel spelBordPaneel;
    private Spel spel;
    private Properties props;
    private PaneelEventHandler handler;
    private static final long serialVersionUID = 1L;

    /**
     * Basis constructor
     * @param bp bijhoorden bottompaneel
     * @param spel bijhorende spel
     */
    public TopPaneel(BottomPaneel bp, Spel spel, Veld veld, Properties props, PaneelEventHandler handler) {
        super();
        this.props = props;
        this.spel = spel;
        this.bp = bp;
        this.handler = handler;
        spelBordPaneel = new SpelbordPaneel(bp, spel, veld, props, handler);
        Dimension grootte = new Dimension(500, 500);
        this.setPreferredSize(grootte);
        this.setMinimumSize(grootte);
        this.setMaximumSize(grootte);
        this.setViewportView(spelBordPaneel);
        this.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER);
        this.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);

        this.addMouseListener(new MouseAdapter() {

            public void mouseClicked(MouseEvent e) {
                //plaatsMap = e.getPoint();
            }

            public void mouseDragged(MouseEvent e) {
                System.out.println("DRAGGING");
                if (e.getButton() == e.BUTTON1) {
                    SpelFrame.getSpelFrame().getSpelPaneel().getTopPaneel().getViewport().setViewPosition(e.getPoint());
                }
            }
        });
    }
}
